﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.Infra.UI.Common;

namespace Sinacor.UI.Bovespa.Clientes.Model
{
    /// <summary>
    /// Model de Tipo de Conta
    /// </summary>
    [Serializable]
    public class TipoConta : BaseModel
    {
        #region Campos
        private string _apelidoCliente;
        private int? _codigoCliente;
        private bool? _especialista;
        private EnumWrapper<Model.Enum.TipoCliente> _tipoCliente;
        #endregion

        #region Contrutor
        /// <summary>
        /// Construtor Padrão
        /// </summary>
        public TipoConta() { }

        /// <summary>
        /// Construtor com parametros
        /// </summary>
        public TipoConta(string apelidoCliente, int? codigoCliente, bool? especialista, Model.Enum.TipoCliente? tipoCliente)
        {
            this.ApelidoCliente = apelidoCliente;
            this.CodigoCliente = codigoCliente;
            this.Especialista = especialista;
            this.TipoCliente = tipoCliente;
        }
        #endregion

        #region Propriedades

        /// <summary>
        /// Apelido do Cliente
        /// </summary>
        public string ApelidoCliente
        {
            get { return _apelidoCliente; }
            set { _apelidoCliente = value; this.OnPropertyChanged("ApelidoCliente"); }
        }
        /// <summary>
        /// Codigo do Cliente
        /// </summary>
        public int? CodigoCliente
        {
            get { return _codigoCliente; }
            set { _codigoCliente = value; this.OnPropertyChanged("CodigoCliente"); }
        }
        /// <summary>
        /// Especialista
        /// </summary>
        public bool? Especialista
        {
            get { return _especialista; }
            set { _especialista = value; this.OnPropertyChanged("Especialista"); }
        }
        /// <summary>
        /// Tipo de Cliente
        /// </summary>
        public EnumWrapper<Model.Enum.TipoCliente> TipoCliente
        {
            get { return _tipoCliente; this.OnPropertyChanged("TipoCliente"); }
            set { _tipoCliente = value; }
        }
        #endregion
    }
}
